name: gcc-14 -fno-sanitize=all

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]
  workflow_dispatch:

jobs:
  gcc14-no-sanitize:
    runs-on: ubuntu-24.04
    strategy:
      matrix:
        cxxflags: ['"-O3 -fno-sanitize=all -std=c++23 -DRA_OPT_SMALLVECTOR=0"',
                   '"-O3 -fno-sanitize=all -std=c++23 -DRA_OPT_SMALLVECTOR=1"',
                   '"-O3 -fno-sanitize=all -DRA_DO_CHECK=0 -DNDEBUG -std=c++23"']
    steps:
    - uses: actions/checkout@v4
    - name: update
      run: |
         sudo apt update
         sudo apt install gcc-14 g++-14
    - name: configure
      run: CXXFLAGS=${{matrix.cxxflags}} cmake .
      env:
        CXX: g++-14
        CC: gcc-14
    - name: make
      run: make
    - name: make test
      run: make test
